MODULE MOD_ZOOPLANKTON
!******************************************************************
!***         DEFINE PARAMETERS RELATED TO ZOOPLANKTON           ***
!***   PARAMETERS ARE LISTED ALPHABETICALLY FOR EACH CATEGORY   ***
!******************************************************************
     USE MOD_1D
     IMPLICIT NONE
     SAVE
     INTEGER               :: NNZ               ! TOTAL NUMBER OF PHYTOPLANKTON
     INTEGER               :: INZ               ! ZOO INDEX USED IN VERTICAL MIXING

     CHARACTER(LEN=80)     :: G_FUNCTION        ! GRAZING FUNCTION

     REAL(SPP), ALLOCATABLE :: ACTIVE_R(:)       ! ZOO ACTIVE RESPIRATION COEFFICIENT
     REAL(SPP), ALLOCATABLE :: A_TZ(:)           ! T EXPONENTAIL COEFFICIENT
     REAL(SPP), ALLOCATABLE :: BIO_Z(:,:)        ! ZOOPLANKTON BIOMASS
     REAL(SPP), ALLOCATABLE :: EFFIB(:,:)        ! GROWTH EFFICIENCY ON BACTERIA
     REAL(SPP), ALLOCATABLE :: EFFID(:,:)        ! GROWTH EFFICIENCY ON DETRITUS
     REAL(SPP), ALLOCATABLE :: EFFIP(:,:)        ! GROWTH EFFICIENCY ON PHYTO
     REAL(SPP), ALLOCATABLE :: EFFIZ(:,:)        ! GROWTH EFFICIENCY ON ZOOPLANKTON
     REAL(SPP), ALLOCATABLE :: FVZ(:,:)          ! ZOOPLANKTON SUBSTRACTED OF THRESHOLD
     REAL(SPP), ALLOCATABLE :: G_B(:,:,:)        ! PREDATION ON BACTERIA
     REAL(SPP), ALLOCATABLE :: G_D(:,:,:)        ! GRAZING ON DETRITUS
     REAL(SPP), ALLOCATABLE :: G_MAX(:)          ! MAXIMUM GRAZING RATE
     REAL(SPP), ALLOCATABLE :: G_P(:,:,:)        ! GRAZING ON PHYTOPLANKTON
     REAL(SPP), ALLOCATABLE :: G_RATE(:)         ! GRAZING RATE
     REAL(SPP), ALLOCATABLE :: G_Z(:,:,:)        ! PREDATION OF ZOOPLANKTON
     REAL(SPP), ALLOCATABLE :: K_ZG(:)           ! HALF-SATURATION FOR ZOO GRAZING
     REAL(SPP), ALLOCATABLE :: M_G(:)            ! ZOOPLANKTON GRAZING POWER
     REAL(SPP), ALLOCATABLE :: MZD(:)            ! ZOOPLANKTON MORTALITY COEFFICIENT
     REAL(SPP), ALLOCATABLE :: M_Z(:)            ! ZOOPLANKTON MORTALITY POWER
     REAL(SPP), ALLOCATABLE :: P_C(:)            ! GRAZING THRESHOLD
     REAL(SPP), ALLOCATABLE :: RECRUIT_LOSS(:)   !RECRUITMENT LOSS
     REAL(SPP), ALLOCATABLE :: R_RECRUIT(:)      ! RECRUIT COEFFICIENT
     REAL(SPP), ALLOCATABLE :: R_Z(:)            ! ZOOPLANKTON RESPIRATION COEFFICIENT
     REAL(SPP), ALLOCATABLE :: SIGMA_B(:,:)      ! PREFERENCE ON BACTERIA
     REAL(SPP), ALLOCATABLE :: SIGMA_D(:,:)      ! PREFERENCE ON DETRITUS
     REAL(SPP), ALLOCATABLE :: SIGMA_P(:,:)      ! PREFERENCE ON PHYTO
     REAL(SPP), ALLOCATABLE :: SIGMA_Z(:,:)      ! PREFERENCE ON ZOOPLANKTON
     REAL(SPP), ALLOCATABLE :: T_OPTZ(:)         ! OPTIMAL TEMPERATURE FOR ZOOPLANKTON
     REAL(SPP), ALLOCATABLE :: Z_D(:,:)          ! ZOOPANKTON MORTALITY
     REAL(SPP), ALLOCATABLE :: Z_N(:,:)          ! ZOOPLANKTON RESPIRATION
     REAL(SPP), ALLOCATABLE :: Z_0(:)            ! ZOOPLANKTO THRESHOLLD
END MODULE MOD_ZOOPLANKTON
